#pragma once
#include <list>
#include <map>
#include "Posicion.h"

using namespace std;
class Evolucionable;

class Escenario
{
private:
	int a;
	static const int maxX = 1000;
	static const int maxY = 1000;
	map<Evolucionable*, Posicion*> posiciones;
	std::list<Evolucionable*> lista;
	bool validaValores(int x, int y);
public:
	Escenario(void);
	void evolucionarPor(int tiempo);
	void add(Evolucionable* e, int x, int y);
	void desplazar(Evolucionable* e, int distancia, int angulo);
	map<Evolucionable*, Posicion*> getElementosPosicionados();
public:
	virtual ~Escenario(void);

};
